二叉树的定义
二叉树
定义:
- 是另一种树形结构,他的特点是每个结点之多只有两颗子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次数不能任意颠倒
性质:
- 1.在二叉树的第i层上之多有2的(i-1)次幂个结点(i>=1)
- 2.深度为k的二叉树之多有2的k次幂 -1 的结点 (k>=1)
- 3.对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1
- 4.具有n个结点的完全二叉树的深度为
- 5.如果对一棵有n个结点的完全二叉树
满二叉树
一棵深度为k且有(2的k次幂)-1个结点的二叉树
完全二叉树
深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树
二叉树的存储结构
线索二叉树
若结点有左子树,则其lchild域指示其做孩子,否则零lchild域指示其前驱;若结点有右子树,则其rchild域指示其右孩子,否则零rchild域指示其后继。
lchild | LTag | data | RTag | rchild |
---|
其中:
LTag = 0 时,lchild域指示结点的左孩子
1时,lchild域指示结点的前驱
RTag = 0时,rchild域指示结点的右孩子
1时,rchild域指示结点的后继
线索链表
以